home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…on Library 1994 September / ARPLE-Sept-94-Supplement.iso / AppleSoft / QuickTime 2.0 / Interfaces / MediaHandlers.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-20  |  8.1 KB  |  202 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        MediaHandlers.h
  3.  
  4.     Copyright:    © 1991-1994 by Apple Computer, Inc., all rights reserved.
  5.  
  6. */
  7.  
  8. #ifndef __MEDIAHANDLERS__
  9. #define __MEDIAHANDLERS__
  10.  
  11. #include <Movies.h>
  12. /*    #include <Quickdraw.h>                                        */
  13. /*        #include <Types.h>                                        */
  14. /*            #include <ConditionalMacros.h>                        */
  15. /*            #include <MixedMode.h>                                */
  16. /*                #include <Traps.h>                                */
  17. /*        #include <QuickdrawText.h>                                */
  18. /*            #include <IntlResources.h>                            */
  19. /*    #include <Aliases.h>                                        */
  20. /*        #include <AppleTalk.h>                                    */
  21. /*            #include <OSUtils.h>                                */
  22. /*        #include <Files.h>                                        */
  23. /*            #include <SegLoad.h>                                */
  24. /*    #include <Events.h>                                            */
  25. /*    #include <ToolUtils.h>                                        */
  26. /*        #include <TextUtils.h>                                    */
  27. /*            #include <Script.h>                                    */
  28. /*        #include <FixMath.h>                                    */
  29. /*    #include <Menus.h>                                            */
  30. /*    #include <Components.h>                                        */
  31. /*    #include <ImageCompression.h>                                */
  32. /*        #include <QDOffscreen.h>                                */
  33. /*        #include <StandardFile.h>                                */
  34. /*            #include <Dialogs.h>                                */
  35. /*                #include <Windows.h>                            */
  36. /*                    #include <Controls.h>                        */
  37. /*                #include <TextEdit.h>                            */
  38. enum  {
  39.     handlerHasSpatial            = 1 << 0,
  40.     handlerCanClip                = 1 << 1,
  41.     handlerCanMatte                = 1 << 2,
  42.     handlerCanTransferMode        = 1 << 3,
  43.     handlerNeedsBuffer            = 1 << 4,
  44.     handlerNoIdle                = 1 << 5,
  45.     handlerNoScheduler            = 1 << 6,
  46.     handlerWantsTime            = 1 << 7,
  47.     handlerCGrafPortOnly        = 1 << 8
  48. };
  49.  
  50. enum  {
  51.     mMustDraw                    = 1 << 3,
  52.     mAtEnd                        = 1 << 4,
  53.     mPreflightDraw                = 1 << 5
  54. };
  55.  
  56. enum  {
  57.     mDidDraw                    = 1 << 0,
  58.     mNeedsToDraw                = 1 << 2,
  59.     mPartialDraw                = 1 << 4
  60. };
  61.  
  62. enum  {
  63.     forceUpdateRedraw            = 1 << 0,
  64.     forceUpdateNewBuffer        = 1 << 1
  65. };
  66.  
  67. #if defined(powerc) || defined (__powerc)
  68. #pragma options align=mac68k
  69. #endif
  70. struct GetMovieCompleteParams {
  71.     short                        version;
  72.     Movie                        theMovie;
  73.     Track                        theTrack;
  74.     Media                        theMedia;
  75.     TimeScale                    movieScale;
  76.     TimeScale                    mediaScale;
  77.     TimeValue                    movieDuration;
  78.     TimeValue                    trackDuration;
  79.     TimeValue                    mediaDuration;
  80.     Fixed                        effectiveRate;
  81.     TimeBase                    timeBase;
  82.     short                        volume;
  83.     Fixed                        width;
  84.     Fixed                        height;
  85.     MatrixRecord                trackMovieMatrix;
  86.     CGrafPtr                    moviePort;
  87.     GDHandle                    movieGD;
  88.     PixMapHandle                trackMatte;
  89. };
  90. #if defined(powerc) || defined(__powerc)
  91. #pragma options align=reset
  92. #endif
  93.  
  94. typedef struct GetMovieCompleteParams GetMovieCompleteParams;
  95.  
  96. enum  {
  97.     kMediaInitializeSelect        = 0x501,
  98.     kMediaSetHandlerCapabilitiesSelect = 0x502,
  99.     kMediaIdleSelect            = 0x503,
  100.     kMediaGetMediaInfoSelect    = 0x504,
  101.     kMediaPutMediaInfoSelect    = 0x505,
  102.     kMediaSetActiveSelect        = 0x506,
  103.     kMediaSetRateSelect            = 0x507,
  104.     kMediaGGetStatusSelect        = 0x508,
  105.     kMediaTrackEditedSelect        = 0x509,
  106.     kMediaSetMediaTimeScaleSelect = 0x50A,
  107.     kMediaSetMovieTimeScaleSelect = 0x50B,
  108.     kMediaSetGWorldSelect        = 0x50C,
  109.     kMediaSetDimensionsSelect    = 0x50D,
  110.     kMediaSetClipSelect            = 0x50E,
  111.     kMediaSetMatrixSelect        = 0x50F,
  112.     kMediaGetTrackOpaqueSelect    = 0x510,
  113.     kMediaSetGraphicsModeSelect    = 0x511,
  114.     kMediaGetGraphicsModeSelect    = 0x512,
  115.     kMediaGSetVolumeSelect        = 0x513,
  116.     kMediaSetSoundBalanceSelect    = 0x514,
  117.     kMediaGetSoundBalanceSelect    = 0x515,
  118.     kMediaGetNextBoundsChangeSelect = 0x516,
  119.     kMediaGetSrcRgnSelect        = 0x517,
  120.     kMediaPrerollSelect            = 0x518,
  121.     kMediaSampleDescriptionChangedSelect = 0x519,
  122.     kMediaHasCharacteristicSelect = 0x51A,
  123.     kMediaGetOffscreenBufferSizeSelect = 0x51B,
  124.     kMediaSetHintsSelect        = 0x51C,
  125.     kMediaGetNameSelect            = 0x51D,
  126.     kMediaForceUpdateSelect        = 0x51E,
  127.     kMediaGetDrawingRgnSelect    = 0x521
  128. };
  129.  
  130. #ifdef __cplusplus
  131. extern "C" {
  132. #endif
  133.  
  134. extern pascal ComponentResult MediaInitialize(ComponentInstance ci, GetMovieCompleteParams *gmc)
  135.  FIVEWORDINLINE(0x2F3C, 0x4, 0x501, 0x7000, 0xA82A);
  136. extern pascal ComponentResult MediaSetHandlerCapabilities(ComponentInstance ci, long flags, long flagsMask)
  137.  FIVEWORDINLINE(0x2F3C, 0x8, 0x502, 0x7000, 0xA82A);
  138. extern pascal ComponentResult MediaIdle(ComponentInstance ci, TimeValue atMediaTime, long flagsIn, long *flagsOut, const TimeRecord *movieTime)
  139.  FIVEWORDINLINE(0x2F3C, 0x10, 0x503, 0x7000, 0xA82A);
  140. extern pascal ComponentResult MediaGetMediaInfo(ComponentInstance ci, Handle h)
  141.  FIVEWORDINLINE(0x2F3C, 0x4, 0x504, 0x7000, 0xA82A);
  142. extern pascal ComponentResult MediaPutMediaInfo(ComponentInstance ci, Handle h)
  143.  FIVEWORDINLINE(0x2F3C, 0x4, 0x505, 0x7000, 0xA82A);
  144. extern pascal ComponentResult MediaSetActive(ComponentInstance ci, Boolean enableMedia)
  145.  FIVEWORDINLINE(0x2F3C, 0x2, 0x506, 0x7000, 0xA82A);
  146. extern pascal ComponentResult MediaSetRate(ComponentInstance ci, Fixed rate)
  147.  FIVEWORDINLINE(0x2F3C, 0x4, 0x507, 0x7000, 0xA82A);
  148. extern pascal ComponentResult MediaGGetStatus(ComponentInstance ci, ComponentResult *statusErr)
  149.  FIVEWORDINLINE(0x2F3C, 0x4, 0x508, 0x7000, 0xA82A);
  150. extern pascal ComponentResult MediaTrackEdited(ComponentInstance ci)
  151.  FIVEWORDINLINE(0x2F3C, 0x0, 0x509, 0x7000, 0xA82A);
  152. extern pascal ComponentResult MediaSetMediaTimeScale(ComponentInstance ci, TimeScale newTimeScale)
  153.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50A, 0x7000, 0xA82A);
  154. extern pascal ComponentResult MediaSetMovieTimeScale(ComponentInstance ci, TimeScale newTimeScale)
  155.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50B, 0x7000, 0xA82A);
  156. extern pascal ComponentResult MediaSetGWorld(ComponentInstance ci, CGrafPtr aPort, GDHandle aGD)
  157.  FIVEWORDINLINE(0x2F3C, 0x8, 0x50C, 0x7000, 0xA82A);
  158. extern pascal ComponentResult MediaSetDimensions(ComponentInstance ci, Fixed width, Fixed height)
  159.  FIVEWORDINLINE(0x2F3C, 0x8, 0x50D, 0x7000, 0xA82A);
  160. extern pascal ComponentResult MediaSetClip(ComponentInstance ci, RgnHandle theClip)
  161.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50E, 0x7000, 0xA82A);
  162. extern pascal ComponentResult MediaSetMatrix(ComponentInstance ci, MatrixRecord *trackMovieMatrix)
  163.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50F, 0x7000, 0xA82A);
  164. extern pascal ComponentResult MediaGetTrackOpaque(ComponentInstance ci, Boolean *trackIsOpaque)
  165.  FIVEWORDINLINE(0x2F3C, 0x4, 0x510, 0x7000, 0xA82A);
  166. extern pascal ComponentResult MediaSetGraphicsMode(ComponentInstance ci, long mode, RGBColor *opColor)
  167.  FIVEWORDINLINE(0x2F3C, 0x8, 0x511, 0x7000, 0xA82A);
  168. extern pascal ComponentResult MediaGetGraphicsMode(ComponentInstance ci, long *mode, RGBColor *opColor)
  169.  FIVEWORDINLINE(0x2F3C, 0x8, 0x512, 0x7000, 0xA82A);
  170. extern pascal ComponentResult MediaGSetVolume(ComponentInstance ci, short volume)
  171.  FIVEWORDINLINE(0x2F3C, 0x2, 0x513, 0x7000, 0xA82A);
  172. extern pascal ComponentResult MediaSetSoundBalance(ComponentInstance ci, short balance)
  173.  FIVEWORDINLINE(0x2F3C, 0x2, 0x514, 0x7000, 0xA82A);
  174. extern pascal ComponentResult MediaGetSoundBalance(ComponentInstance ci, short *balance)
  175.  FIVEWORDINLINE(0x2F3C, 0x4, 0x515, 0x7000, 0xA82A);
  176. extern pascal ComponentResult MediaGetNextBoundsChange(ComponentInstance ci, TimeValue *when)
  177.  FIVEWORDINLINE(0x2F3C, 0x4, 0x516, 0x7000, 0xA82A);
  178. extern pascal ComponentResult MediaGetSrcRgn(ComponentInstance ci, RgnHandle rgn, TimeValue atMediaTime)
  179.  FIVEWORDINLINE(0x2F3C, 0x8, 0x517, 0x7000, 0xA82A);
  180. extern pascal ComponentResult MediaPreroll(ComponentInstance ci, TimeValue time, Fixed rate)
  181.  FIVEWORDINLINE(0x2F3C, 0x8, 0x518, 0x7000, 0xA82A);
  182. extern pascal ComponentResult MediaSampleDescriptionChanged(ComponentInstance ci, long index)
  183.  FIVEWORDINLINE(0x2F3C, 0x4, 0x519, 0x7000, 0xA82A);
  184. extern pascal ComponentResult MediaHasCharacteristic(ComponentInstance ci, OSType characteristic, Boolean *hasIt)
  185.  FIVEWORDINLINE(0x2F3C, 0x8, 0x51A, 0x7000, 0xA82A);
  186. extern pascal ComponentResult MediaGetOffscreenBufferSize(ComponentInstance ci, Rect *bounds, short depth, CTabHandle ctab)
  187.  FIVEWORDINLINE(0x2F3C, 0xA, 0x51B, 0x7000, 0xA82A);
  188. extern pascal ComponentResult MediaSetHints(ComponentInstance ci, long hints)
  189.  FIVEWORDINLINE(0x2F3C, 0x4, 0x51C, 0x7000, 0xA82A);
  190. extern pascal ComponentResult MediaGetName(ComponentInstance ci, Str255 name, long requestedLanguage, long *actualLanguage)
  191.  FIVEWORDINLINE(0x2F3C, 0xC, 0x51D, 0x7000, 0xA82A);
  192. extern pascal ComponentResult MediaForceUpdate(ComponentInstance ci, long forceUpdateFlags)
  193.  FIVEWORDINLINE(0x2F3C, 0x4, 0x51E, 0x7000, 0xA82A);
  194. extern pascal ComponentResult MediaGetDrawingRgn(ComponentInstance ci, RgnHandle *partialRgn)
  195.  FIVEWORDINLINE(0x2F3C, 0x4, 0x521, 0x7000, 0xA82A);
  196. #ifdef __cplusplus
  197. }
  198. #endif
  199.  
  200. #endif
  201.  
  202.